package com.woniumall.dao;

import com.woniumall.pojo.Goods;
import com.woniumall.pojo.Remark;
import org.apache.ibatis.annotations.Param;


import java.util.List;

/**
 * @auther linke
 * @create 2021-10-28 14:13
 * 用户操作持久层
 */
public interface GoodsDao {
    /**
     * 查询首页新书列表
     * @return
     */
    public List<Goods> findNewGoods();
    /**
     * 查询首页热门图书列表
     * @return
     */
    public List<Goods> findHotGoods();
    /**
     * 查询首页热门图书列表
     * @return
     */
    public List<Goods> findCategoryID(int categoryID);
    /**
     * 根据id查询图书详情
     * @return
     */
    public Goods findById(int id);
    /**
     * 根据分类id查询图书总数
     * @return
     */
    public int countByCid(int cid);
    /**
     * 根据分类id进行分页查询
     * @return
     */
    public List<Goods> findPageByCid(@Param("cid") int cid,@Param("index") int i);
    /**
     *根据销量降序查询图书
     * 显示8条数据
     */
    public List <Goods> findBysalenums( int num);
    /**
     *根据更新时间降序查询新书
     * 使用分页插件的方式
     */
    public List<Goods> findByNewGoodsPage();
    /**
     *根据销量降序查询热门图书
     * 使用分页插件的方式
     */
    public List<Goods> findByHotGoodsPage();

    /**
     * 关键字模糊搜索
     * @param keyword
     * @return
     */
    public List<Goods> search(String keyword);

    /**
     * 根据id查询售价和库存，和订单进行匹配
     * @param goodsid
     * @return
     */
    Goods findStockSalesPriceById(int goodsid);

    /**
     * 根据id更新库存
     * @param id
     */
    void updateStockById(@Param("stock") int stock,@Param("id") int id);

    /**
     * 添加评论
     * @param remark
     */
    int addComment(Remark remark);
    /**
     * 展示评论
     * @param goodsid
     */
    List<Remark> showComment(int goodsid);

}
